﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Bymed.SpineScan.DataModel;
using Bymed.SpineScan.Service.Shared;

namespace Bymed.SpineScan.UnitTest.FakeRepository
{
    //public class FakeDataSource
    //{
    //    public static List<Patient> Patients;
    //    public static List<Patient> CommonPatients = new List<Patient>();
    //    public static List<Patient> EmptyPatients = new List<Patient>();
    //    public static List<Patient> OutNumberPatients = new List<Patient>();

    //    private static DateTime _currentDate = GeneralUtility.GetCurrentDateTime();
    //    private static string _originalNumber = ConfigFileUtility.GetInitialCustomizedNumber();

    //    static FakeDataSource()
    //    {
    //        Patient patient1 = new Patient
    //        {
    //            Number = GeneratePatientNumber(),
    //            Name = "Eric",
    //            Gender = 1,
    //            Remark = "",
    //            Birthday = _currentDate,
    //            CreateOn = _currentDate,
    //            UpdateOn = _currentDate
    //        };

    //        Patient patient2 = new Patient
    //        {
    //            Number = GeneratePatientNumber(),
    //            Name = "Glenn",
    //            Gender = 2,
    //            Remark = "",
    //            Birthday = _currentDate,
    //            CreateOn = _currentDate,
    //            UpdateOn = _currentDate
    //        };

    //        CommonPatients.Add(patient1);
    //        CommonPatients.Add(patient2);
    //        _originalNumber = ConfigFileUtility.GetInitialCustomizedNumber();

    //        Patient patient3 = new Patient
    //        {
    //            Number = GeneratePatientOutNumber(),
    //            Name = "Daniel",
    //            Gender = 1,
    //            Remark = "",
    //            Birthday = _currentDate,
    //            CreateOn = _currentDate,
    //            UpdateOn = _currentDate
    //        };

    //        OutNumberPatients.Add(patient3);
    //    }

    //    public static void SetPatientsAsCommonPatients()
    //    {
    //        Patients = CommonPatients;
    //    }

    //    public static void SetPatientsAsEmptyPatients()
    //    {
    //        Patients = EmptyPatients;
    //    }

    //    public static void SetPatientsAsOutNumberPatients()
    //    {
    //        Patients = OutNumberPatients;
    //    }

    //    private static string GeneratePatientNumber()
    //    {
    //        string newNumber = (int.Parse(_originalNumber) + 1).ToString().PadLeft(_originalNumber.Length, '0');
    //        string prefix = ConfigFileUtility.GetConfiguredPatientNumberPrefix();
    //        string date = ConfigFileUtility.GetConfiguredPatientNumberDate();
    //        string result = ConfigFileUtility.GetConfiguredPatientNumberPrefix() + ConfigFileUtility.GetConfiguredPatientNumberDate() + newNumber;
    //        _originalNumber = newNumber;

    //        return result;
    //    }

    //    private static string GeneratePatientOutNumber()
    //    {
    //        int len = _originalNumber.Length;
    //        string outNumber = "";

    //        for (int i = 0; i < len; i++)
    //        {
    //            outNumber += "9";
    //        }

    //        return ConfigFileUtility.GetConfiguredPatientNumberPrefix() + ConfigFileUtility.GetConfiguredPatientNumberDate() + outNumber;
    //    }
    //}
}
